#ifndef MENUITEM_H_
#define MENUITEM_H_

#include <string>

using namespace std;

/**
 * Summary: An item to be placed in a menu
 */
class MenuItem {
	public:
		/**
		 * Summary: Constructs a menu item
		 *
		 * Arguments:
		 * 	text: The text to display for this item
		 */
		MenuItem(string text);

		/**
		 * Summary: Destroys a menu item
		 */
		virtual ~MenuItem();

		/**
		 * Summary: Returns the display text for the menu item
		 *
		 * Return: The display text for the menu item
		 */
		string getText() const;

		/**
		 * Summary: Returns whether or not the menu item is enabled
		 *
		 * Return: Whether or not the menu item is enabled
		 */
		bool isEnabled() const;

		/**
		 * Summary: Sets the enablization status of the menu item
		 *
		 * Arguments:
		 * 	newEnabled: The new enablization status of the menu item
		 */
		void setEnabled(bool newEnabled);
	private:
		/**
		 * Summary: The display text for the menu item
		 */
		string text;

		/**
		 * Summary: Whether or not the menu item is enabled
		 */
		bool enabled;
};

#endif
